package be.pluyckx.batteryprogress.data;

/**
 * Created by Philip on 13/09/13.
 */
public interface Observable {
  /**
   * Add an observer.
   *
   * @param observer The observer.
   * @return true on success
   */
  public boolean addObserver(Observer observer);

  /**
   * Remove the first occurrence of the observer.
   *
   * @param observer The observer.
   * @return true if the observer is removed.
   */
  public boolean removeObserver(Observer observer);

  /**
   * Returns true if the observer is at least found once.
   *
   * @param observer
   * @return
   */
  public boolean isObserving(Observer observer);
}
